package Object;

/**
 * @author Huangjin
 * @version 1.0
 * describe:
 * @date 2023/3/1 15:44
 */
public class IntegerDemo {
    public static void main(String[] args) {
       /*
        Integer i1 = new Integer(5);
        Integer i2 = new Integer(5);
        System.out.println(i1==i2);
        System.out.println(i1.equals(i2));

        //valueOf()方法复用1个字节（-128-127）范围内的数据，建议使用valueOf（）
        Integer i3= new Integer(5);
        Integer i4 = new Integer(5);
        System.out.println(i3==i4);
        //true,包装类重写equals（）比较值了
        System.out.println(i3.equals(i4));

        //将包装类转换为基本类型
        int i = i4.intValue();
        System.out.println(i);

        */
        /*
        //触发了自动装箱特性，会被编译为：Integer i = Integer.valueOf(5);
        //基本类型到包装类------------------装箱
        Integer i = 5;
        //出发了自动拆装箱特性，会编译为：int j = i.intValue();
        //包装类到基本类型-------------------拆箱
        int j = i;

         */

        //演示包装类的常用操作：
        //1)可以通过包装类来获取基本类型的取值范围
        int max = Integer.MAX_VALUE;
        int min = Integer.MIN_VALUE;
        System.out.println("最大值："+max+",最小值："+min);

        long max1 = Long.MAX_VALUE;
        long min1 = Long.MIN_VALUE;
        System.out.println("最大值："+max1+",最小值："+min1);
        //2)包装类可以将字符串转换为对应的基本类型------必须熟练掌握
        String s1 = "39";
        //将字符串s1转换为int类型并赋值给age
        int age = Integer.parseInt(s1);
        System.out.println(age);

        String s2 = "123.456";
        //将字符串s2转换为double类型并赋值给price
        double price = Double.parseDouble(s2);
        System.out.println(price);
    }
}
